﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using DAL;
using BE;

namespace BL
{
    public  class Alumno_BL
    {

        public DataTable DATA_ESPECIALIDAD_ListaEspecialidades()
        {
            Alumno_DAL obj = new Alumno_DAL();
            DataTable dato = new DataTable();
            try
            {
                dato = obj.DATA_ESPECIALIDAD_ListaEspecialidades();
                
            }
            catch (Exception ex)

            {
                throw ex;

            }
            return dato;

        }


        public List<Especialidad> DATA_ESPECIALIDAD_ListaEspecialidades_H()
        {
            Alumno_DAL obj = new Alumno_DAL();
            List<Especialidad> dato = null;
            try
            {
                dato = obj.DATA_ESPECIALIDAD_ListaEspecialidades_H();

            }
            catch (Exception ex)
            {
                throw ex;

            }
            return dato;

        }



        public DataTable DATA_PERIODO_listaxSemestre(string semestre)
        {

            Alumno_DAL obj = new Alumno_DAL();
            DataTable dato = new DataTable();
            try
            {
                dato = obj.DATA_PERIODO_listaxSemestre(semestre);

            }
            catch (Exception ex)
            {
                throw ex;

            }
            return dato;
 
        }

        public DataTable DATA_MAESTRO1_ListaAlumnos(string dni, string codigo)
        {


            Alumno_DAL obj = new Alumno_DAL();
            DataTable dato = new DataTable();
            try
            {
                dato = obj.DATA_MAESTRO1_ListaAlumnos(dni,codigo);

            }
            catch (Exception ex)
            {
                throw ex;

            }
            return dato;
        }


        public DataTable ObtenerListaAlumnosEspecialidad(string dni, string codigo)
        {
            try
            {
                Alumno_DAL obj = new Alumno_DAL();
                return obj.ObtenerListaAlumnosEspecialidad(dni, codigo);
            }
            catch (Exception)
            {
                
                throw;
            }
        }

        
        public DataTable DATA_MAESTRO_listaporCodigo(string codigo)

        {
            Alumno_DAL obj = new Alumno_DAL();
            DataTable dato = new DataTable();
            try
            {

                dato = obj.DATA_MAESTRO_listaporCodigo(codigo);

            }
            catch (Exception ex)
            {
                
                throw ex;
            }

            return dato;
        
        }


        public DataTable data_Matric1_ListaporCodigo(string codigo)
        {
            Alumno_DAL obj = new Alumno_DAL();
            DataTable dato = new DataTable();
            try
            {

                dato = obj.data_Matric1_ListaporCodigo(codigo);

            }
            catch (Exception ex)
            {

                throw ex;
            }

            return dato;
        

        }


        public void DATA_MAESTRO1_UPDATE(Alumno_BE det)

        {
            Alumno_DAL obj = new Alumno_DAL();
            
            try
            {

               obj.DATA_MAESTRO1_UPDATE(det);

            }
            catch (Exception ex)
            {

                throw ex;
            }

           

        }


        public DataTable DATA_MATRIC1_ListaxSemestreCicloEspecialidad(String semestre, String ciclo, String especialidad)

        {
            DataTable dato = new DataTable();
            Alumno_DAL obj = new Alumno_DAL();

            try
            {

                dato = obj.DATA_MATRIC1_ListaxSemestreCicloEspecialidad(semestre, ciclo, especialidad);
                return dato;
            }
            catch (Exception ex)
            {

                throw ex;
            }

           

        }

        public DataTable DATA_MATRIC1_Nomina(String semestre, String ciclo, String especialidad)
        {
            DataTable dato = new DataTable();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                dato = obj.DATA_MATRIC1_Nomina(semestre, ciclo, especialidad);
                return dato;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }


        //Metodo utilizado para registrar nominas
        public List<Nomina_BE> Lista_DATA_MATRIC1_Nomina(String semestre, String ciclo, String especialidad, String semestre_Nuevo)
        {

            List<Nomina_BE> list = new List<Nomina_BE>();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                list = obj.Lista_DATA_MATRIC1_Nomina(semestre, ciclo, especialidad,semestre_Nuevo);
                return list;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }



        // este metodo se utiliza para la edición de nominas ya registradas
        public List<Nomina_BE> Lista_DATA_MATRIC1_Edita(String semestre, String ciclo, String especialidad) 
        {

            List<Nomina_BE> list = new List<Nomina_BE>();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                list = obj.Lista_DATA_MATRIC1_Edita(semestre, ciclo, especialidad);
                return list;
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public DataTable DATA_MATRIC1_Nomina_Edita_DATATABLE(String semestre, String ciclo, String especialidad)
        {
            DataTable dato = new DataTable();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                dato = obj.DATA_MATRIC1_Nomina_Edita_DATATABLE(semestre, ciclo, especialidad);
                return dato;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }


        public List<Nomina_BE> DATA_MATRIC1_Lista_INGRESANTES(String semestre, String especialidad)
        {
            List<Nomina_BE> list = new List<Nomina_BE>();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                list = obj.DATA_MATRIC1_Lista_INGRESANTES(semestre, especialidad);
                return list;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }


        public DataTable DATA_MATRIC1_AgregaAlumnos(String semestre, String ciclo, String especialidad, String semestre_nuevo, String codigo)
        {
            DataTable dato = new DataTable();
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                dato = obj.DATA_MATRIC1_AgregaAlumnos(semestre, ciclo, especialidad,semestre_nuevo,codigo);
                return dato;
            }
            catch (Exception ex)
            {

                throw ex;
            }



        }


        public void DATA_MATRIC1_Inserta_Nomina
                                               (
                                                   String semestre,
                                                   String cod_espec, String ciclo,
                                                    String cod_secc, String cod_alumno,
                                                   String condicion, String num_matricula,
                                                   String estado, String flag_confirmado,
                                                   String Usuario_Registra, DateTime fecha_registro, String RD
                                               )

        {


            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                 obj.DATA_MATRIC1_Inserta_Nomina(semestre,cod_espec,ciclo,cod_secc,cod_alumno,condicion,num_matricula,estado,flag_confirmado,Usuario_Registra,fecha_registro,RD);
               
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public void DATA_MATRIC1_EliminaAlumno(String cod_alumno, String semestre, String ciclo, String especialidad)
        {
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                obj.DATA_MATRIC1_EliminaAlumno(cod_alumno, semestre, cod_alumno, especialidad);

            }
            catch (Exception ex)
            {

                throw ex;
            }

        }

        public void DATA_MATRIC_Elimina_Nomina(String semestre, String ciclo, String especialidad)
        {
            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                obj.DATA_MATRIC_Elimina_Nomina(semestre, ciclo, especialidad);

            }
            catch (Exception ex)
            {

                throw ex;
            }

        }


        public void DATA_MATRIC1_Inserta_Nomina_Modifica
                                                (
                                                    String semestre,
                                                    String cod_espec, String ciclo,
                                                     String cod_secc, String cod_alumno,
                                                    String condicion, String num_matricula,
                                                    String estado, String flag_confirmado,
                                                    String Usuario_Registra, DateTime fecha_registro,
                                                    String Usuario_Modifica, DateTime fecha_Modifica, String RD
                                                )
        {

            Alumno_DAL obj = new Alumno_DAL();
            try
            {

                obj.DATA_MATRIC1_Inserta_Nomina_Modifica(semestre, cod_espec, ciclo, cod_secc, cod_alumno, condicion, 
                                                num_matricula, estado, flag_confirmado, Usuario_Registra, fecha_registro,Usuario_Modifica,
                                                    fecha_Modifica,RD
                                                );

            }
            catch (Exception ex)
            {

                throw ex;
            }
        }


        //TO.TEST:
        public DataTable DATA_MATRIC1_ListaAlumnosEspecialidadvsCiclos_xSemestre(string semestre)
        {
            try
            {
                DataTable dato = new DataTable();
                Alumno_DAL obj = new Alumno_DAL();
                dato = obj.DATA_MATRIC1_ListaAlumnosEspecialidadvsCiclos_xSemestre(semestre);
                return dato;
            }
            catch (Exception)
            {
                throw;
            }
        }




        public DataTable Listado_Alumnos_Matriculados(String semestre, String ciclo, String especialidad)
        {
            try
            {
                DataTable dato = new DataTable();
                Alumno_DAL obj = new Alumno_DAL();
                dato = obj.Listado_Alumnos_Matriculados( semestre,  ciclo,  especialidad);
                return dato;
            }
            catch (Exception)
            {
                throw;
            }
        }



        




    }
}
